package com.ecoolex.ying.space.ws;

import com.ecoolex.framework.common.pojo.Page;
import com.ecoolex.framework.common.pojo.Pagination;
import com.ecoolex.framework.modularize.api.auth.user.ConsumerMember;
import com.ecoolex.ying.space.core.manager.UserFavoriteItemsManager;
import com.ecoolex.ying.space.entity.UserFavoriteItems;
import com.ecoolex.ying.space.entity.UserWorks;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;

@Service
public class UserFavoriteItemsServiceImpl implements UserFavoriteItemsService {

    @Autowired
    UserFavoriteItemsManager userFavoriteItemsManager;

	@Override
	public UserFavoriteItems getUserFavoriteItemsByUserIdAndContentId(Integer userId, Integer contentId) {
		return userFavoriteItemsManager.getByUserIdAndContentId(userId, contentId);
	}

    @Override
    public UserFavoriteItems getUserFavoriteItemsByUserIdAndFavoriteItemId(Integer userId, Integer favoriteItemId) {
        return userFavoriteItemsManager.getByUserIdAndFavoriteItemId(userId, favoriteItemId);
    }

    @Override
    public UserFavoriteItems addUserFavoriteItems(UserFavoriteItems record, String createUser) {
        return userFavoriteItemsManager.add(record, createUser);
    }

    @Override
    public void deleteUserFavoriteItems(UserFavoriteItems record, String updateUser) {
        userFavoriteItemsManager.delete(record, updateUser);
    }

    @Override
    public ConsumerMember getContentAuthor(Integer userId) {
        return userFavoriteItemsManager.getContentAuthor(userId);
    }

    @Override
    public UserWorks getUserWorks(Integer id) {
        return userFavoriteItemsManager.getUserWorks(id);
    }

	@Override
	public Pagination<UserFavoriteItems> queryUserFavoriteItemsByFavoriteId(Integer favoriteId, Page page) {
		return userFavoriteItemsManager.queryUserFavoriteItemsByFavoriteId(favoriteId, page);
	}

	@Override
	public Pagination<UserFavoriteItems> queryMyUserFavoriteItems(Integer userId, Page page) {
		return userFavoriteItemsManager.queryMyUserFavoriteItems(userId, page);
	}

	@Override
	public long queryMyUserFavoriteItemsCount(Integer userId) {
		return userFavoriteItemsManager.queryMyUserFavoriteItemsCount(userId);
	}

	@Override
	public Pagination<UserFavoriteItems> queryOtherUserFavoriteItems(Integer userId, Page page) {
		return userFavoriteItemsManager.queryOtherUserFavoriteItems(userId, page);
	}

	@Override
	public long queryOtherUserFavoriteItemsCount(Integer userId) {
		return userFavoriteItemsManager.queryOtherUserFavoriteItemsCount(userId);
	}

	@Override
	public long countByFavoriteId(Integer id) {
		return userFavoriteItemsManager.countByFavoriteId(id);
	}

}
